package com.hfxt.service;
import com.hfxt.constants.PayChannelEnum;
import com.hfxt.dto.MaintainOrderDto;
import  com.hfxt.po.PayOrder;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;
import com.hfxt.dto.Page;
/**
* Created by shang-pc on 2015/11/7.
*/
public interface PayOrderService {

    public PayOrder getPayOrderById(Long id);

    public List<PayOrder>	getPayOrderListByMap(Map<String,Object> param);

    public Integer getPayOrderCountByMap(Map<String,Object> param);

    public Integer qdtxAddPayOrder(PayOrder payOrder);

    public Integer qdtxModifyPayOrder(PayOrder payOrder);

    public Integer qdtxDeletePayOrderById(Long id);

    public Integer qdtxBatchDeletePayOrder(String ids);

    public Page<PayOrder> queryPayOrderPageByMap(Map<String,Object> param,Integer pageNo,Integer pageSize);

    /**
     * 根据订单信息保存支付订单信息
     *
     * @param maintainOrder
     * @param payChannelEnum
     * @param price
     * @return
     */
    PayOrder save(MaintainOrderDto maintainOrder, PayChannelEnum payChannelEnum, BigDecimal price);

    /**
     * 支付完成，修改订单状态
     *
     * @param payOrder
     * @param aliTradeNo
     */
    void finishPay(PayOrder payOrder, String aliTradeNo);


}
